跳到主要内容

通过 Rook 接入外部 Ceph 存储

从 Ceph 导出配置

一开始遇到了 ACT 实验室集群没有 RBD 的问题,向社区提了 Issue Suggestion: Make the `rbd-data-pool-name` flag optional in `create-external-cluster-resources.py` script · Issue #15039 · rook/rook · GitHub,但短期内是难以解决的。

和沃老师确认后,可以在实验室 Ceph 创建新的 RBD 池。

Ceph 创建 RBD

备注
ssh liyilong@192.168.5.241

查看目前已创建的存储池:

rados lspools

发现没有 RBD,手动创建一个:

ceph osd pool create crater_rbd # 使用默认的简单配置
rbd pool init crater_rbd

导出 Ceph 配置

运行脚本导出命令:

python3 create-external-cluster-resources.py \
--namespace rook-ceph \
--format bash \
--cephfs-metadata-pool-name cephfs_metadata \
--cephfs-filesystem-name act-cephfs \
--rbd-data-pool-name crater_rbd \
--alias-rbd-data-pool-name crater

得到了需要的环境变量。

在集群安装 Rook

参考 安装 Rook Ceph 部分,通过 Helm 安装,做好留档。

导入外部 Ceph 存储

$ bash import-external-cluster.sh
cluster namespace rook-ceph already exists
secret/rook-ceph-mon created
configmap/rook-ceph-mon-endpoints created
configmap/external-cluster-user-command created
secret/rook-csi-rbd-node created
secret/rook-csi-rbd-provisioner created
secret/rook-csi-cephfs-node created
secret/rook-csi-cephfs-provisioner created
storageclass.storage.k8s.io/ceph-rbd created
storageclass.storage.k8s.io/cephfs created